home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MMMMaaaatttthhhh::::::::BBBBiiiiggggIIIInnnntttt((((3333)))) 22225555////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) MMMMaaaatttthhhh::::::::BBBBiiiiggggIIIInnnntttt((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- Math::BigInt - Arbitrary size integer math package
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- use Math::BigInt;
- $i = Math::BigInt->new($string);
-
- $i->bneg return BINT negation
- $i->babs return BINT absolute value
- $i->bcmp(BINT) return CODE compare numbers (undef,<0,=0,>0)
- $i->badd(BINT) return BINT addition
- $i->bsub(BINT) return BINT subtraction
- $i->bmul(BINT) return BINT multiplication
- $i->bdiv(BINT) return (BINT,BINT) division (quo,rem) just quo if scalar
- $i->bmod(BINT) return BINT modulus
- $i->bgcd(BINT) return BINT greatest common divisor
- $i->bnorm return BINT normalization
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- All basic math operations are overloaded if you declare your
- big integers as
-
- $i = new Math::BigInt '123 456 789 123 456 789';
-
-
- Canonical notation
- Big integer value are strings of the form /^[+-]\d+$/ with
- leading zeros suppressed.
-
- Input
- Input values to these routines may be strings of the form
- /^\s*[+-]?[\d\s]+$/.
-
- Output
- Output values always always in canonical form
-
- Actual math is done in an internal format consisting of an
- array whose first element is the sign (/^[+-]$/) and whose
- remaining elements are base 100000 digits with the least
- significant digit first. The string 'NaN' is used to
- represent the result when input arguments are not numbers,
- as well as the result of dividing by zero.
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- '+0' canonical zero value
- ' -123 123 123' canonical value '-123123123'
- '1 23 456 7890' canonical value '+1234567890'
-
-
- AAAAuuuuttttooooccccrrrreeeeaaaattttiiiinnnngggg ccccoooonnnnssssttttaaaannnnttttssss
- After use Math::BigInt ':constant' all the integer decimal
-
-
-
- Page 1 (printed 10/23/98)
-
-
-
-
-
-
- MMMMaaaatttthhhh::::::::BBBBiiiiggggIIIInnnntttt((((3333)))) 22225555////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) MMMMaaaatttthhhh::::::::BBBBiiiiggggIIIInnnntttt((((3333))))
-
-
-
- constants in the given scope are converted to Math::BigInt.
- This conversion happens at compile time.
-
- In particular
-
- perl -MMath::BigInt=:constant -e 'print 2**100'
-
- print the integer value of 2**100. Note that without
- convertion of constants the expression 2**100 will be
- calculatted as floating point number.
-
- BBBBUUUUGGGGSSSS
- The current version of this module is a preliminary version
- of the real thing that is currently (as of perl5.002) under
- development.
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Mark Biggar, overloaded interface by Ilya Zakharevich.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 2 (printed 10/23/98)
-
-
-
-